//伪代码
// void hannuo(int n,char X,char Y,char Z)
// {
//     if(n==1)
//         将1个圆盘从X移动Z
//     else{
//         将n-1个圆盘从X移动到Y(借助Z)
//         将圆盘n从X移动Z
//         将n-1个圆盘从Y移动到Z(借助X)
//     }
// }
#include <stdio.h>
void move(char,char);
void hannuo(int,char,char,char);
int main()
{
    int n;
    printf("input");
    scanf("%d",&n);
    hannuo(n,'X','Y','Z');
}
void hannuo(int n,char x,char y,char z){
    if(n==1)
        move(x,z);
    else{
        hannuo(n-1,x,z,y);
        move(x,z);
        hannuo(n-1,y,x,z);
    }
}
void move(char A,char B){
    printf("%c>>%c\n",A,B);
}